<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:pe="http://primefaces.org/ui/extensions">
    <h:head>
        <title>Seguimiento</title>
        <link rel="stylesheet" href="resources/css/botones.css" />
    </h:head>
    <h:body>
    <!--Cabecera del formulario donde se encuentra esto es igual a todos las paginas JSF-->    
    <h:form>
        <p:menubar autoDisplay="false">  
        <p:menuitem value="Inicio" icon="inicio" url="inicio.jsf"/>     
        <p:submenu rendered="#{loginBean.usuario.perfil.despacho}" label="Ingreso" icon="mante">  
            <p:menuitem  rendered="#{loginBean.usuario.perfil.ingresoD}" value="Despacho" url="transaccionLoad.jsf" icon="mante" />  
        </p:submenu>
        <p:submenu rendered="#{loginBean.usuario.perfil.seguimiento}" label="Seguimiento" icon="mante">  
            <p:menuitem  rendered="#{loginBean.usuario.perfil.ingresoS}" value="Despacho" url="transaccionView.jsf" icon="mante" />  
        </p:submenu>
        <p:submenu rendered="#{loginBean.usuario.perfil.configuracion}" label="Configuracion" icon="mante">  
            <p:menuitem  rendered="#{loginBean.usuario.perfil.usuario}" value="Usuario" url="usuario.jsf" icon="mante" />  
            <p:menuitem  rendered="#{loginBean.usuario.perfil.configuracion}" value="Perfil" url="perfil.jsf" icon="mante" /> 
        </p:submenu>
         <p:submenu rendered="#{loginBean.usuario.perfil.mantenimiento}" label="Mantenimiento" icon="mante">  
            <p:menuitem  rendered="#{loginBean.usuario.perfil.cliente}" value="Cliente" url="cliente.jsf" icon="mante" />  
        </p:submenu>
         <p:menuitem value="Contrase&ntilde;a" icon="contra" update=":frmClave:dlgClave" 
                    oncomplete="dlgClave.show()" actionListener="#{usuarioBean.prepararUsuario(loginBean.usuario.idusuario)}"/>         
        <p:menuitem value="Salir" url="login.jsf" icon="salir" />
    </p:menubar>
        <p:clock/> 
    </h:form> 
    <br></br>
    <h:form id="frmNuevo">
        <p:commandButton value="transaccion"  style="font-style: normal" icon="ui-icon-disk" oncomplete="dlgIngresar.show()"
                         update=":frmIngresar:dlgIngresar" actionListener="#{transaccionviewBean.inicioTransaccion()}"/>
    </h:form>
    <!--Tabla donde se contiene la informacion de todos los registros--> 
    <h:form id="frmPrincipal">  
        <p:growl id="principal"/> 
         
        <p:dataTable id="datatable" var="transaccion" value="#{transaccionviewBean.transaccions}" widgetVar="transaccionTable"
                     paginator="true" rows="10"  
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 rowsPerPageTemplate="5,10,15" >  
            
            <f:facet name="header">  
                Operacion Pendiente por Entregar de #{transaccionviewBean.loginBean.usuario.nombre}
            </f:facet>
            
                 
            <h:inputHidden value="#{transaccion.idTransaccion}"/> 
            
 
            <p:column headerText="Destino" style="text-align: center">  
                <h:outputText value="#{transaccion.destino}" />  
            </p:column> 
                  
            
            <p:column headerText="Via Embarque" style="text-align: center">  
                <h:outputText value="#{transaccion.via}" />
            </p:column> 
                 
            <p:column headerText="Fecha Recojo" style="background-color: darkseagreen; text-align: center" >  
                <h:outputText value="#{transaccion.fechaRecojo}" />
            </p:column>
            
            <p:column headerText="Hora Recojo" style="background-color: darkseagreen; text-align: center">  
                <h:outputText value="#{transaccion.horaRecojo}" />
            </p:column>
            
            <p:column headerText="Fecha Despacho" style="background-color: appworkspace; text-align: center">  
                 <h:outputText value="#{transaccion.fechaDespacho}" />
            </p:column>
            
            <p:column headerText="Hora Despacho" style="background-color: appworkspace; text-align: center">  
                <h:outputText value="#{transaccion.horaDespacho}" />
            </p:column>
            
            <p:column headerText="Fecha Destino" style="background-color: bisque; text-align: center">  
                <h:outputText value="#{transaccion.fechaDestino}" />
            </p:column>
            
            <p:column headerText="Hora Destino" style="background-color: bisque; text-align: center">  
                <h:outputText value="#{transaccion.horaDestino}" />
            </p:column>
            
            <p:column headerText="Fecha Entrega" style="background-color: darksalmon; text-align: center">  
                <h:outputText value="#{transaccion.fechaEntrega}" />
            </p:column>
            
            <p:column headerText="Hora Entrega" style="background-color: darksalmon; text-align: center">  
                <h:outputText value="#{transaccion.horaEntrega}" />
            </p:column>
            
            <p:column headerText="Persona" style="text-align: center">  
                <h:outputText value="#{transaccion.personaEntrega}" />
            </p:column> 
            
            <p:column headerText="DNI" style="text-align: center">  
                <h:outputText value="#{transaccion.dniEntrega}" />
            </p:column> 
            
            <p:column headerText="Observacion" style="text-align: center">  
                <h:outputText value="#{transaccion.observacion}" />
            </p:column>
            
                  
            <p:column style="width:8%; text-align: center" > 

                <p:commandButton oncomplete="dlgActualizar.show()" icon="ui-icon-pencil" title="Actualizar Orden" 
                                 update=":frmActualizar:dlgActualizar" actionListener="#{transaccionviewBean.prepararTransaccion(transaccion.idTransaccion)}"/> 
                <p:commandButton oncomplete="dlgActualizarFecha.show()" icon="ui-icon-circle-plus" title="Actualizar Fecha" 
                                 update=":frmActualizarFecha:dlgActualizarFecha" actionListener="#{transaccionviewBean.prepararTransaccion(transaccion.idTransaccion)}"/>
                <p:commandButton oncomplete="dlgEliminar.show()" icon="ui-icon-trash" title="Eliminar"
                                 update=":frmEliminar:dlgEliminar" actionListener="#{transaccionviewBean.prepararTransaccion(transaccion.idTransaccion)}"/>
                
            </p:column> 
              
            <f:facet name="footer">  
                Numero de Envios #{transaccionviewBean.transaccions.size()}.  
            </f:facet>  
             
          </p:dataTable> 
    </h:form>
    <h:form id="frmIngresar">   
        <p:dialog header="Ingreso" widgetVar="dlgIngresar" resizable="false"  
              modal="true" id="dlgIngresar"> 
        <p:growl id="growl" showDetail="false" sticky="true" />  
        <p:panelGrid columns="4">  
            <f:facet name="header">  
                Ingreso de Despachos
            </f:facet>  
            
            <h:outputText value="Cliente: " />  
            <p:selectOneMenu value="#{transaccionviewBean.transaccion.cliente}" effect="fade" >   
                <f:selectItems value="#{clienteBean.clientes}" var="cliente" itemLabel="#{cliente.codigoCliente}" itemValue="#{cliente.usuario}"/>
            </p:selectOneMenu>
       
            <h:outputText value="Guia Cliente:   " />  
            <p:inputText value="#{transaccionviewBean.transaccion.guiaClient}" required="true" label="Name"/> 
                
            <h:outputText value="Guia Transporte:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.guiaTrans}" required="true" label="Name"/> 
            
            <h:outputText value="Origen:  " />   
            <p:inputText value="#{transaccionviewBean.transaccion.origen}" required="true" label="Name"/> 
            
            <h:outputText value="Destino:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.destino}" required="true" label="Name"/> 
            
            <h:outputText value="Nro Bulto:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.nroBulto}" required="true" label="Name"/> 
                 
            <h:outputText value="Peso:   " /> 
            <pe:inputNumber id="Input5" value="#{transaccionviewBean.transaccion.peso}" decimalPlaces="2" required="true"
                            decimalSeparator="." thousandSeparator=",">  
                <p:ajax event="blur" update="Input5" />  
            </pe:inputNumber>
            
            <h:outputText value="Basic Usage: " />  
                    <p:selectOneMenu value="#{transaccionviewBean.transaccion.via}">  
                        <f:selectItem itemLabel="Seleccione 1" itemValue="" />  
                        <f:selectItem itemLabel="Aereo" itemValue="Aereo" />  
                        <f:selectItem itemLabel="Terrestre" itemValue="Terrestre" />  
                        <f:selectItem itemLabel="Maritimo" itemValue="Maritimo" />  
                    </p:selectOneMenu> 
            
            <h:outputText value="Doc. Despacho:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.docDespacho}" label="Name"/> 
            
            <h:outputText value="Transaccion OP:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.transaccioncol}" label="Name"/> 
            
            <h:outputText value="Volumen:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.pesoVolumen}" label="Name"/> 
                   
             <f:facet name="footer">
                 <p:commandButton value="Guardar"  oncomplete="dlgIngresar.hide()" 
                             update=":frmPrincipal:datatable, growl" actionListener="#{transaccionviewBean.agregarTransaccion()}" />
                 <p:commandButton value="Cancelar" oncomplete="dlgIngresar.hide()" />          
            </f:facet>  
        </p:panelGrid>                          
        </p:dialog> 
    </h:form>
   <!--Formulario de Actualizacion de Registros-->      
    <h:form id="frmActualizar">   
        <p:dialog header="Actualizar Despachos" widgetVar="dlgActualizar" resizable="false"  
              modal="true" id="dlgActualizar"> 
        <p:growl id="growl" showDetail="false" sticky="true" /> 
        
        <p:panelGrid columns="4">
            
            <f:facet name="header">  
                Actualizacion General
            </f:facet>  
            <h:outputText value="Cliente: " />  
            <p:selectOneMenu value="#{transaccionviewBean.transaccion.cliente}" effect="fade" >   
                <f:selectItems value="#{clienteBean.clientes}" var="cliente" itemLabel="#{cliente.codigoCliente}" itemValue="#{cliente.usuario}"/>
            </p:selectOneMenu>  
            
            <h:outputText value="Guia Cliente:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.guiaClient}" required="true" label="Name"/>  
                
            <h:outputText value="Guia Transporte:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.guiaTrans}" required="true" label="Name"/> 
            
            <h:outputText value="Origen:  " />   
            <p:inputText value="#{transaccionviewBean.transaccion.origen}" required="true" label="Name"/> 
            
            <h:outputText value="Destino:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.destino}" required="true" label="Name"/> 
            
            <h:outputText value="Nro Bulto:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.nroBulto}" required="true" label="Name"/> 
                 
            <h:outputText value="Peso:   " /> 
            <pe:inputNumber id="Input5" value="#{transaccionviewBean.transaccion.peso}" decimalPlaces="2" required="true"
                            decimalSeparator="." thousandSeparator=",">  
                <p:ajax event="blur" update="Input5" />  
            </pe:inputNumber>
            
            <h:outputText value="Basic Usage: " />  
                    <p:selectOneMenu value="#{transaccionviewBean.transaccion.via}">  
                        <f:selectItem itemLabel="Seleccione 1" itemValue="" />  
                        <f:selectItem itemLabel="Aereo" itemValue="Aereo" />  
                        <f:selectItem itemLabel="Terrestre" itemValue="Terrestre" />  
                        <f:selectItem itemLabel="Maritimo" itemValue="Maritimo" />  
                    </p:selectOneMenu> 
                    
            <h:outputText value="Doc. Despacho:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.docDespacho}" label="Name"/> 
            
            <h:outputText value="Transaccion OP:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.transaccioncol}" label="Name"/> 
            
            <h:outputText value="Volumen:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.pesoVolumen}" label="Name"/> 
            
            <h:outputText value="Fecha Recojo:   " />
            <p:calendar value="#{transaccionviewBean.transaccion.fechaRecojo}" accesskey="" id="vendorStartDateInputTxt" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
           
            <h:outputText value="Hora Recojo:   " /> 
            <p:inputMask value="#{transaccionviewBean.transaccion.horaRecojo}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
                                 
            <h:outputText value="Fecha Despacho:   " /> 
            <p:calendar value="#{transaccionviewBean.transaccion.fechaDespacho}" accesskey="" id="vendorStartDateInputTxt1" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
                       
            <h:outputText value="Hora Despacho:   " />
            <p:inputMask value="#{transaccionviewBean.transaccion.horaDespacho}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
                    
            <h:outputText value="Fecha Destino:   " />   
            <p:calendar value="#{transaccionviewBean.transaccion.fechaDestino}" accesskey="" id="vendorStartDateInputTxt2" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
            
            <h:outputText value="Hora Destino:   " /> 
            <p:inputMask value="#{transaccionviewBean.transaccion.horaDestino}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
            
            <h:outputText value="Fecha Entrega:   " />
            <p:calendar value="#{transaccionviewBean.transaccion.fechaEntrega}" accesskey="" id="vendorStartDateInputTxt3" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
                
            <h:outputText value="Hora Entrega:   " /> 
            <p:inputMask value="#{transaccionviewBean.transaccion.horaEntrega}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
            
            <h:outputText value="Recibidor:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.personaEntrega}" label="Name"/> 
            
            <h:outputText value="DNI:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.dniEntrega}" label="Name"/> 
            
            <h:outputText value="Observacion:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.observacion}" label="Name"/> 
                    
            </p:panelGrid> 
            <p:commandButton value="Guardar" style="text-align: center" oncomplete="dlgActualizar.hide()" 
                             update=":frmPrincipal:datatable,growl" actionListener="#{transaccionviewBean.actualizarTransaccion()}"/>
            <p:commandButton value="Cancelar" style="text-align: center" oncomplete="dlgActualizar.hide()"/>                           
        </p:dialog> 
    </h:form>
   
   <h:form id="frmActualizarFecha">   
        <p:dialog header="Actualizar Fecha" widgetVar="dlgActualizarFecha" resizable="false"  
              modal="true" id="dlgActualizarFecha"> 
        <p:growl id="growl" showDetail="false" sticky="true" /> 
        
        <p:panelGrid columns="4">
            
            <f:facet name="header">  
                Actualizacion General
            </f:facet>  
                 
            <h:outputText value="Fecha Recojo:   " />
            <p:calendar value="#{transaccionviewBean.transaccion.fechaRecojo}" accesskey="" id="vendorStartDateInputTxt" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
           
            <h:outputText value="Hora Recojo:   " /> 
            <p:inputMask value="#{transaccionviewBean.transaccion.horaRecojo}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
                                 
            <h:outputText value="Fecha Despacho:   " /> 
            <p:calendar value="#{transaccionviewBean.transaccion.fechaDespacho}" accesskey="" id="vendorStartDateInputTxt1" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
                       
            <h:outputText value="Hora Despacho:   " />
            <p:inputMask value="#{transaccionviewBean.transaccion.horaDespacho}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
                    
            <h:outputText value="Fecha Destino:   " />   
            <p:calendar value="#{transaccionviewBean.transaccion.fechaDestino}" accesskey="" id="vendorStartDateInputTxt2" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
            
            <h:outputText value="Hora Destino:   " /> 
            <p:inputMask value="#{transaccionviewBean.transaccion.horaDestino}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
            
            <h:outputText value="Fecha Entrega:   " />
            <p:calendar value="#{transaccionviewBean.transaccion.fechaEntrega}" accesskey="" id="vendorStartDateInputTxt3" pattern="dd/MM/yyyy" mode="popup" >
            <f:convertDateTime type="date"  dateStyle="short" pattern="dd/MM/yyyy" />
            </p:calendar>
                
            <h:outputText value="Hora Entrega:   " /> 
            <p:inputMask value="#{transaccionviewBean.transaccion.horaEntrega}" mask="99:99">
                <f:convertDateTime type="time"  pattern="HH:mm" timeZone="GMT-5"/>
            </p:inputMask>
            
            <h:outputText value="Recibidor:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.personaEntrega}" label="Name"/> 
            
            <h:outputText value="DNI:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.dniEntrega}" label="Name"/> 
            
            <h:outputText value="Observacion:   " />   
            <p:inputText value="#{transaccionviewBean.transaccion.observacion}" label="Name"/> 
                    
            </p:panelGrid> 
            <p:commandButton value="Guardar" style="text-align: center" oncomplete="dlgActualizarFecha.hide()" 
                             update=":frmPrincipal:datatable,growl" actionListener="#{transaccionviewBean.actualizarTransaccion()}"/>
            <p:commandButton value="Cancelar" style="text-align: center" oncomplete="dlgActualizarFecha.hide()"/>                           
        </p:dialog> 
    </h:form>
    <!--Confirmacion de Eliminacion-->     
    <h:form id="frmEliminar">                       
    <p:growl id="messages" />    
       
    <p:confirmDialog id="dlgEliminar" message="Esta Seguro de Eliminar Operacion?"  
                header="Iniciando Eliminacion" severity="alert" widgetVar="dlgEliminar">  
                  
        <p:commandButton id="confirm" value="Confirmar" update=":frmPrincipal:datatable, messages" oncomplete="dlgEliminar.hide()"  
                         actionListener="#{transaccionviewBean.eliminarTransaccion()}" />  
        <p:commandButton id="decline" value="Cancelar" onclick="dlgEliminar.hide()" type="button" />   
                  
    </p:confirmDialog>   
    </h:form> 
    <!--Formulario de invocacion a losa tipos de fechas usado en el ingreso de datos-->     
    <p:dialog header="Selected Dates" widgetVar="dialog"   
            showEffect="fade" hideEffect="fade">  
      
        <h:panelGrid id="display" columns="2" cellpadding="5">  
          
            <h:outputText value="Inline Date:" />  
            <h:outputText value="#{calendarBean.date1}" id="inlineDate">  
                <f:convertDateTime pattern="d/M/yyyy"/>  
            </h:outputText>  
              
            <h:outputText value="Popup Date:" />  
            <h:outputText value="#{calendarBean.date2}" id="popupDate">  
                <f:convertDateTime pattern="d/M/yyyy"/>  
            </h:outputText>  
              
            <h:outputText value="Popup Button Date: " />  
            <h:outputText value="#{calendarBean.date3}" id="popupButtonDate">  
                <f:convertDateTime pattern="d/M/yyyy"/>  
            </h:outputText>  
            
            <h:outputText value="Time Only: " />  
            <h:outputText value="#{calendarBean.date4}" id="popupButtonTime">  
                <f:convertDateTime pattern="HH:mm:ss" />  
            </h:outputText> 
              
        </h:panelGrid>           
    </p:dialog>
    <h:form id="frmClave">   
        <p:dialog header="Cambio Clave" widgetVar="dlgClave" resizable="false"  
              modal="true" id="dlgClave"> 
        <p:growl id="growl" showDetail="false" sticky="true" />  
        
        <h:panelGrid columns="2" cellpadding="5"> 
                                  
            <h:outputText value="Cliente:   " />         
            <h:outputText value="#{usuarioBean.usuario.nombre}" style="font-weight:bold"/>                
            
            <h:outputLabel for="pwd1" value="Password 1: *" />  
            <p:password id="pwd1" value="#{usuarioBean.usuario.password}" match="pwd2" label="Password 1" required="true"/>  
  
            <h:outputLabel for="pwd2" value="Password 2: *" />  
            <p:password id="pwd2" value="#{usuarioBean.usuario.password}" label="Password 2" required="true"/>  
           
            
            </h:panelGrid>  
            <p:commandButton value="Guardar" style="text-align: center" oncomplete="dlgClave.hide()" 
                             update=":frmClave:dlgClave, growl" actionListener="#{usuarioBean.actualizarUsuario()}" />
            <p:commandButton value="Cancelar" style="text-align: center" oncomplete="dlgClave.hide()"/>                           
        </p:dialog> 
    </h:form>
    </h:body>
</html>



